ensure proper read write access to root folder and db files
authorMatthieu Gallien <matthieu.gallien@nextcloud.com>
Mon, 6 Jan 2025 21:06:29 +0000 (22:06 +0100)
committerMatthieu Gallien <matthieu.gallien@nextcloud.com>
Tue, 7 Jan 2025 07:45:16 +0000 (08:45 +0100)
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
src/gui/folder.cpp

index fffbb11e5eaec9c186c45cdec7dc57382f00c078..bcb3ed70f754770415eb3784091f121b4131639f 100644 (file)
@@ -543,7 +543,15 @@ void Folder::startVfs()
 
     // Immediately mark the sqlite temporaries as excluded. They get recreated
     // on db-open and need to get marked again every time.
-    QString stateDbFile = _journal.databaseFilePath();
+    const auto stateDbFile = _journal.databaseFilePath();
+    const auto stateDbWalFile = QString(stateDbFile + QStringLiteral("-wal"));
+    const auto stateDbShmFile = QString(stateDbFile + QStringLiteral("-shm"));
+
+    FileSystem::setFileReadOnly(stateDbFile, false);
+    FileSystem::setFileReadOnly(stateDbWalFile, false);
+    FileSystem::setFileReadOnly(stateDbShmFile, false);
+    FileSystem::setFolderPermissions(path(), FileSystem::FolderPermissions::ReadWrite);
+
     _journal.open();
     _vfs->fileStatusChanged(stateDbFile + "-wal", SyncFileStatus::StatusExcluded);
     _vfs->fileStatusChanged(stateDbFile + "-shm", SyncFileStatus::StatusExcluded);